Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Davis Cup, World Group, Q, SWE-BRA 1-3 Pune Challenger Hamburg Open - Hamburg Heilbronn Challenger Sassuolo Challenger Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger Colombia F1 Brazil F1 Colombia F2 Italy F11 Italy F12 Brazil F3 Brazil F4 Brazil F5 Brazil F6 Brazil F8 Brazil F9 Brazil F10 Brazil F14 El Salvador F1 Guatemala F1 Costa Rica F1 Mexico F1 Mexico F2 Brazil F1 Brazil F2 Chile F1 Colombia F4 Poland F7 Poland F8 Brazil F10 Brazil F11 Italy F3 Italy F4 Italy F5 Italy F6 Italy F7 Italy F8 Italy F9 Italy F10 Brazil F1 Brazil F2 Brazil F3 Brazil F4 Brazil F5 Brazil F7 Brazil F21 Portugal F1 Portugal F2 Portugal F3 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Chile F3 Colombia F3 Brazil F4 Brazil F5 Brazil F7 Egypt F1 Spain F16 Spain F17 Spain F18 Great Britain F7 Brazil F1 Brazil F2 Brazil F3 Brazil F8 Germany F12 Brazil F27 Brazil F28 Brazil F13 Brazil F12 Brazil F16 Brazil F1 Santos Challenger Copa Ericsson Brazil - Sao Paulo Copa Petrobras Uruguray - Montevideo II Cyclus Open de Tenis - Florianopolis Challenger Copa Sevilla 2008 - Seville Sao Paulo Challenger Blumenau Challenger Oberstaufen Challenger Sao Paulo Challenger Sao Paulo Challenger Rome Challenger Belo Horizonte Challenger Bogota Challenger Cali Challenger Quito Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Salinas Challenger Barranquilla Challenger Pereira Challenger Alessandria Challenger Campos do Jordao Challenger Binghamton Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Montevideo Challenger Santiago Challenger Tallahassee Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Belem Challenger San Juan Challenger Villa Allende Challenger Eckental Challenger Pereira Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Buenos Aires Challenger Montevideo Challenger Helsinki Challenger Andria Challenger Panama City Challenger Barranquilla Challenger Sao Paulo Challenger Tunis Challenger Mestre Challenger Tampere Challenger Cordenons Challenger Bangkok Challenger Shanghai Challenger Sacramento Challenger Eckental Challenger Helsinki Challenger Santiago Challenger Sao Paulo Challenger Prague Challenger Aptos Challenger Campinas Challenger Santiago Challenger Guayaquil Challenger Buenos Aires Challenger Brescia Challenger Rio De Janeiro Challenger Bucaramanga Challenger Irving Challenger Barletta Challenger Turin Challenger Aix En Provence Challenger Bordeaux Challenger Caltanissetta Challenger Prague Challenger Perugia Challenger Milan Challenger Cordenons Challenger Manerbio Challenger Genova Challenger Barranquilla Challenger Lima Challenger Montevideo Challenger Dallas Challenger Santiago Challenger Buenos Aires Challenger Panama City Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Poprad Tatry Challenger Braunschweig Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Genova Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Santiago Challenger Budapest Challenger Santiago Challenger Prostejov Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Bastad Challenger Prague Challenger Como Challenger Chicago Challenger Genova Challenger Szczecin Challenger Orleans Challenger Santo Domingo Challenger Brest Challenger Lima Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Playford Challenger Rennes Challenger Aix En Provence Challenger Heilbronn Challenger Ludwigshafen Challenger Perugia Challenger Tampere Challenger Liberec Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Prague Challenger Aix En Provence Challenger Istanbul Challenger Split 2 Challenger Ostrava Challenger Lyon Challenger Braunschweig Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Andria Challenger Maia Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Bancolombia Open - Bogota Sao Leopoldo Challenger Mallorca Challenger St. Tropez Challenger Orleans Challenger Alicante Challenger Manama Challenger Phoenix Challenger Oeiras 3 Challenger Ostrava Challenger Oeiras 4 Challenger Guayaquil Challenger Blunmenau Challenger Biella Challenger Orleans Challenger Salvador Challenger Mouilleron-Le-Captif Challenger Roanne Challenger San Marino Challenger Seoul Challenger Campinas Challenger Buenos Aires Challenger Matsuyama Challenger Santos Challenger Yokohama Challenger Yokkaichi Challenger Chennai Challenger New Delhi Challenger Naples Challenger Turin Challenger Rome Challenger Perugia Challenger Buenos Aires Challenger Jonkoping Challenger Santiago Challenger Napoli Challenger Manerbio Challenger Sao Paulo Challenger Salinas Challenger Prostejov Challenger Bastad Challenger Biella Challenger Santos Challenger Medellin Challenger Mohammedia Challenger Buenos Aires Challenger St. Brieuc Challenger Santiago Challenger Panama City Challenger Guayaquil Challenger Visa Tennis Open - Sao Paulo Brasil Open - Costa do Sauipe Movistar Open - Santiago Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Bet-at-home Cup - Kitzbuhel If Stockholm Open - Stockholm VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires La Serena Open - La Serena Cyclus Open de Tenis - Florianopolis Bucaramanga Challenger Open de Nice Cote d'Azur - Nice Recanati Challenger Cremona Challenger Brasilia Challenger Bordeaux Challenger Manta Challenger Campinas Challenger Guayaquil Challenger Le Gosier Challenger Panama City Challenger SkiStar Swedish Open - Bastad Itajai Challenger Seville Challenger If Stockholm Open - Stockholm Montevideo Challenger Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Naples Challenger Mauthausen Challenger SkiStar Swedish Open - Bastad Vicenza Challenger Austrian Open - Kitzbuhel Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Salzburg Challenger Napa Challenger Suisse Open - Gstaad Brisbane International - Brisbane Aircel Chennai Open - Chennai Sarasota Challenger Argentina Open - Buenos Aires Memphis Open - Memphis Rio Open - Rio de Janeiro US Men's Clay Court Championship - Houston Rome Challenger Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Furth Challenger Caltanissetta Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg China Open - Beijing Qatar ExxonMobil Open - Doha Ilkley Challenger Blois Challenger Milan Challenger Braunschweig Challenger Poznan Challenger Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech SkiStar Swedish Open - Bastad Prague Challenger Vancouver Challenger Cordenons Challenger Guayaquil Challenger Barranquilla Challenger Lima 2 Challenger Istanbul Challenger Izmir Challenger Porto Alegre Challenger Mons Challenger Sao Paulo Challenger Citi Open - Washington Corrientes Challenger Stockholm Open - Stockholm Lima Challenger Bratislava Challenger Quimper Challenger Mendoza Challenger Bergamo Challenger Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Como Challenger Banja Luka Open - Banja Luka Monza Challenger San Francisco Challenger Como Challenger Miami Open - Miami Tiburon Challenger Rio De Janeiro Challenger Rennes Challenger Malaga Challenger Aix En Provence Challenger Rome Challenger L'Aquila Challenger Campinas Challenger Santiago Challenger Alicante Challenger Cary Challenger Braunschweig Challenger San Benedetto Challenger Prague Challenger Kobe Challenger Prague Challenger Francavilla Challenger Valencia Challenger Maia Challenger Istanbul Challenger Zadar Challenger Zug Challenger BCP Tennis Classic - Sao Paulo 12th BH Tennis Open International Cup - Belo Horizonte Sao Paulo - Brazil Brasil Open - Costa do Sauipe Aberto de Sao Paulo - Sao Paulo Nossa Caixa Tennis Cup - Sao Paulo Western & Southern Financial Group Masters - Cincinnati Sony Ericsson Open - Miami Cyclus Open de Tenis - Florianopolis 10° Trofeo Luigi Pezzoli - Bergamo Seguros Bogota Open - Bogota Credicard Mastercard Tennis Cup - Campos do Jordao Sony Open Tennis - Miami BH Tennis Open International Cup - Belo Horizonte Joinville Tennis Festival - Joinville II Manta Open - Manta Amazonia Open de Tenis - Belem IX Gramado Open - Gramado XII Trofeo Ciudad de Quito 'Diario El Comercio' - Quito Seguros Bolivar Open - Medellin Copa Petrobras Colombia - Bogota Copa Petrobras Brazil - Aracaju Copa Petrobras Paraguay - Asuncion Aberto de Sao Paulo - Sao Paulo Copa Kia Challenger ATP - Santiago XII Abierto Internacional de Salinas - Salinas Bancolombia Open - Bogota Monte-Carlo Rolex Masters - Monte-Carlo Aberto de Santa Catarina de Tenis - Florianopolis Prosperita Open 2007 - Ostrava Croatia Osiguranje Rijeka Open - Rijeka Baden Open - Karlsruhe Memorial Manfredini - Sassuolo Polska Energia Open - Bytom Riviera di Rimini Challenger - Rimini Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao Ljubljana Open - Ljubljana Pekao Open - Szczecin Ipsos Bucharest Challenger - Bucharest BNP Paribas Open - Indian Wells Aberto de Sao Paulo - Sao Paulo ITG Miami Challenger - Miami Hilton Waikoloa Village USTA Challenger - Waikoloa Challenger de Providencia-Copa Kia - Santiago Abierto Internacional de Salinas 'Dario Expreso' - Salinas Miami Open - Miami III Aberto Santa Catarina de Tenis - Florianopolis Rogers Cup - Toronto BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Bukhara Challenger - Bukhara Karshi Challenger - Karshi Southern Capital Cup - Almaty Dusseldorf Open Challenger - Dusseldorf BNP Paribas Open - Indian Wells Copa Petrobras-Brazil - Aracaju BNP Paribas Open - Indian Wells VTR Open - Vina del Mar Copa Claro - Buenos Aires Salinas Challenger Iquique Challenger Santiago Challenger Monza Challenger Rome Challenger Constanta Challenger Belo Horizonte Challenger Campos do Jordao Challenger Brasilia Challenger Seville Challenger Todi Challenger Palermo Challenger Florionapolis Challenger Lima Challenger Salinas Challenger Caltanissetta Challenger Barletta Challenger Napoli Challenger Wimbledon - London Curitiba Challenger Cairo Challenger Alessandria Challenger U.S. Open - New York Bogota Challenger Campos do Jordao Challenger Asuncion Challenger Sao Paulo Challenger Medellin Challenger Santiago Challenger San Jose Challenger Prague Challenger Prostejov Challenger Nottingham Challenger Bogota Challenger Medellin Challenger Buenos Aires Challenger Sao Paulo Challenger Florianopolis Challenger Blumenau Challenger Monza Challenger Cordenons Challenger Bucaramanga Challenger Braunschweig Challenger SkiStar Swedish Open - Bastad Ecuador Open - Quito Porto Alegre Challenger Sao Jose Do Rio Preto Challenger Bratislava Challenger ASB Classic - Auckland Arad Challenger Blois Challenger Poznan Challenger Cortina Challenger Liberec Challenger French Open - Paris San Marino Challenger Rio Open - Rio de Janeiro Gazprom Hungarian Open - Budapest Tiburon Challenger Drummondville Challenger San Luis Potosi Challenger Santos Challenger Cali Challenger Rio Open - Rio de Janeiro Argentina Open - Buenos Aires Marburg Challenger Rennes Challenger Geneva Open - Geneva Astana Open - Nur-Sultan Argentina Open - Buenos Aires Rome Challenger Barcelona Open BancSabadell - Barcelona Campinas Challenger Stockholm Open - Stockholm Barcelona Open BancSabadell - Barcelona Lyon Challenger Montevideo Challenger Bangalore Challenger Abierto Mexicano de Tenis Mifel - Los Cabos Irving Challenger Unique Zagreb Open - Zagreb Delray Beach Open - Delray Beach Tunis Challenger Brasil Open - Sao Paulo Bordeaux Challenger Antalya Cup - Antalya Generali Open - Kitzbuhel Kremlin Cup - Moscow Cary Challenger Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Phoenix Challenger Korea Open - Seoul Punta Del Este Challenger Tata Open Maharashtra - Pune Lyon Challenger Poznan Challenger Nordea Open - Bastad Banja Luka Challenger Genova Challenger Stockholm Open - Stockholm Wimbledon - London Canberra Challenger Nur-Sultan Challenger Prague II Challenger Split Challenger U.S. Open - New York Cary Challenger Orlando Challenger Split 1 Challenger Biella 4 Challenger Marbella Challenger Rome 1 Challenger Aix En Provence Challenger French Open - Paris Murray River Open - Melbourne Rennes Challenger Orleans Challenger Tiriac Open - Bucharest Cassis Challenger Tenerife Challenger Bordeaux Challenger Marbella Challenger Salzburg Challenger Barcelona Open Banc Sabadell - Barcelona Wimbledon - London Nordea Open - Bastad Australian Open - Melbourne Helsinki Challenger Montevideo Challenger Grand Prix Hassan II - Marrakech Hamburg European Open - Hamburg French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne Wimbledon - London Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Dubai Duty Free Tennis Championships - Dubai Australian Open - Melbourne French Open - Paris Citi Open - Washington Generali Open - Kitzbuhel Wimbledon - London BNP Paribas Nordic Open - Stockholm Wimbledon - London Erste Bank Open - Vienna Sassuolo Challenger U.S. Open - New York Nordea Open - Bastad Copa Claro - Buenos Aires Argentina Open - Buenos Aires Shenzhen Open - Shenzhen Generali Open - Kitzbuhel Grodzisk Mazowiecki Challenger Ecuador Open - Quito If Stockholm Open - Stockholm Movistar Open - Santiago Brasil Open - Sao Paulo Apia International - Sydney Kremlin Cup - Moscow Topshelf Open - 's-Hertogenbosch Swiss Open - Gstaad ABN AMRO World Tennis Tournament - Rotterdam Rio Open 500 - Rio de Janeiro Brasil Open - Sao Paulo Intrum Stockholm Open - Stockholm Ecuador Open - Quito Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Aircel Chennai Open - Chennai Open Sud de France - Montpellier Ecuador Open - Quito Rio Open - Rio de Janeiro Intrum Stockholm Open - Stockholm Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Oeiras 5 Challenger If Stockholm Open - Stockholm If Stockholm Open - Stockholm Brasil Open - Sao Paulo Gerry Weber Open - Halle Brasil Open - Sao Paulo Porto Challenger Millennium Estoril Open - Estoril Mallorca Championships - Mallorca Nordea Open - Bastad Sony Open Tennis - Miami Miami Open - Miami Davis Cup, Group I, 2R, URU-BRA 0-5 Miami Open - Miami Davis Cup, World Group, PO, BRA-RUS 5-0 BNP Paribas Open - Indian Wells Miami Open - Miami Davis Cup, World Group, PO, GER-BRA 4-1 Davis Cup, Group I, PO, SWE-DEN 3-2 Miami Open - Miami Davis Cup, Group I, 2R, ECU-BRA 1-3 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, 2R, BRA-ECU 3-1 Davis Cup, World Group, PO, BRA-ESP 3-1 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, BRA-BEL 1-3 Davis Cup, World Group, QR, SWE-CHI 3-1 Miami Open - Miami Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group A, Bologna Braunschweig Challenger Miami Open - Miami Mutua Madrid Open - Madrid Truist Atlanta Open - Atlanta BMW Open - Munich Rogers Cup - Montreal Nordea Open - Bastad Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris Australian Open - Melbourne U.S. Open - New York French Open - Paris U.S. Open - New York Olympics - Rio de Janeiro French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris Australian Open - Melbourne Wimbledon - London Wimbledon - London French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Seville Challenger French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Porto 2 Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Szczecin Challenger French Open (juniors) Davis Cup, World Group I, 1R, SWE-IND 4-0